#include "defense.h"
#include "ennemi.h"

Defense::Defense(Jeu* jeu):jeu(jeu)
{
    niveau = 1;
    compteur = 0;
    jeu->getPlateau().scene()->addItem(this);
    setPos(jeu->getCreerDefense());
}
void Defense::advance(int phase)
{
    if (phase == 1)
    {
        compteur+=20; // car 50FPS
        if (compteur > 1000/cadence())
        {

            Ennemi* cible = 0;
            qreal bestdistance = 999999;
            for (int i = 0; i < jeu->getEnnemis().size(); i++)
            {
                Ennemi* e = jeu->getEnnemis()[i];
                qreal distance = qSqrt(qPow(e->x()-x(),2)+qPow(e->y()-y(),2))/128;
                if (distance < bestdistance)
                {
                    bestdistance = distance;
                    cible = e;
                }
            }
            if (cible != 0 && bestdistance <= portee())
            {
                compteur = 0;
                cible->touche(frappe());
            }
        }
    }
}
void Defense::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
    painter->setBrush(couleur());
    painter->drawEllipse(-64,-64,128,128);
}
